module.exports = (app) => {
    /**
     * 视图控制器
     * 用于渲染前端页面
     */
    return class ViewController {
        async render(ctx) {
            const { query, params } = ctx.request;
            app.logger.info('[ViewController] query: %s', JSON.stringify(query));
            app.logger.info('[ViewController] params: %s', JSON.stringify(params));
            await ctx.render(`dist/entry.${ctx.params.page}`, {
                projKey: ctx.query?.proj_key,
                name: app.options?.name,
                env: app.env.get(),
                options: JSON.stringify(app.options)
            });
        }
    }
}